package com.project.mapper;

import com.github.pagehelper.PageInfo;
import com.project.bean.BuyBean;
import com.project.bean.BuyInfoBean;
import com.project.bean.ProductBean;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

/**
 * 采购Mapper接口
 */
public interface IBuyMapper {

    /**
     * 添加订单详细信息
     * @param buyInfo 订单详细信息对象
     */
    @Insert(" INSERT INTO t_buyInfo(b_number,fk_buyId,fk_proId)VALUES(#{num},#{buy.id},#{product.id})")
    public void addBuyInfo(BuyInfoBean buyInfo);

    /**
     * 添加订单信息
     * @param buy 订单信息对象
     */
    public int addBuy(BuyBean buy);

    /**
     * 动态条件查询订单信息
     * @param supName 供应商名称
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return PageInfo<BuyBean> 采购详情对象集合
     */
    public List<BuyBean> cutByItem(@Param("supName") String supName,
                                   @Param("startDate") LocalDate startDate,
                                   @Param("endDate") LocalDate endDate);

    /**
     * 按id查询订单信息，并查询订单详情
     * @param id 订单id
     * @return 订单对象
     */
    public BuyBean findById(int id);

}
